package fr.jhaccoun.demenager_eco.web.utilisateur;

import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Component;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;

import fr.jhaccoun.demenager_eco.utilisateur.Utilisateur;
 
@Component
public class UserValidator implements Validator {

	@Override
	public boolean supports(Class<?> clazz) {
		return UtilisateurForm.class.equals(clazz);
	}

	@Override
	public void validate(Object target, Errors errors) {

		UtilisateurForm user = (UtilisateurForm)target;
		
		if(!StringUtils.isEmpty(user.getUtilisateur().getPassword()) && !Utilisateur.isPasswordNonCrypteValide(user.getUtilisateur().getPassword())){
			errors.rejectValue("utilisateur.password", "utilisateur.password.error.mauvaisFormat");
		}else{
			if(!user.isConfirmationPasswordValide()){
				errors.rejectValue("confirmationPassword", "utilisateur.confirmPassword.error.different");
			}
		}  
	}

}
